﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Modelos;
using System.ComponentModel.DataAnnotations;

namespace Administracion.Controllers
{
    public class LocalidadesController : Controller
    {
        //
        // GET: /Localidades/

        private DataContextGeneral DataContext = new DataContextGeneral(); 

        public ActionResult Index()
        {
            return View(model: DataContext.Localidades);
        }

        [HttpGet]
        public ActionResult Agregar()
        {
            return View();
        }


        [HttpPost]
        public ActionResult Agregar(ValidarLocalidad unaLocalidad)
        {
            if (ModelState.IsValid)
            {
                var nuevaLocalidad = new Localidad();

                nuevaLocalidad.Codigo = unaLocalidad.Codigo;
                nuevaLocalidad.Nombre = unaLocalidad.Nombre;

                DataContext.Localidades.Add(nuevaLocalidad);

                DataContext.SaveChanges();

                return View();
            }
            return View();
            
        }

        [HttpGet]
        public ActionResult Borrar(int codigo)
        {
            var unaLocalidad = DataContext.Localidades.Find(codigo);
            DataContext.Localidades.Remove(unaLocalidad);

            DataContext.SaveChanges();

            return RedirectToAction("Index", "Localidades");
        }

        public class ValidarLocalidad
        {
            [Required(ErrorMessage = "Debe Ingresar un Codigo de Localidad Valido")]
            public int Codigo { get; set; }

            [Required(ErrorMessage = "Debe Ingresar el Nombre de la Localidad")]
            public string Nombre { get; set; }
        }
    }
}
